package com.hanamaki.demo02;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.List;

/**
 * 1.测试 Selenium常用的 API
 */
public class SeleniumTemplate04 {

    //注册驱动
    /**
     * driver代表浏览器对象
     */
    WebDriver driver;
    @BeforeMethod
    public void setUp() {
        //注册本地火狐打开的位置
        System.setProperty("webdriver.gecko.driver", "C:\\Program Files\\Mozilla Firefox\\geckodriver.exe");
        //初始化
        driver = new FirefoxDriver();
    }

    /**
     * isSelected()  判断元素是否被选中
     */
    @Test
    public void test() throws InterruptedException, MalformedURLException {
        /* 打开资源路径的位置 */
        driver.get("file:///C:/Users/edz/Desktop/testhtml/exam/House.html");

        /* 判断 公交路线 中每一个元素是否被选中  */
        /* 元素定位 */
        WebElement c1 = driver.findElement(By.name("c1"));
        WebElement c2 = driver.findElement(By.name("c2"));
        WebElement c3 = driver.findElement(By.name("c3"));
        WebElement c4 = driver.findElement(By.name("c4"));
        WebElement c5 = driver.findElement(By.name("c5"));

        /* 集合 List  */
        List<WebElement> gjlx = new ArrayList<>();
        gjlx.add(c1);
        gjlx.add(c2);
        gjlx.add(c3);
        gjlx.add(c4);
        gjlx.add(c5);
        for (WebElement element : gjlx) {
            if (element.getAttribute("name").equals("c4")) {
                element.click();
            }
            System.out.println(element.getAttribute("name") + "的元素：" + (element.isSelected() ? "被选中。" : "未选中。"));
        }


        /*================================isEnabled()==========================================*/
        /* 判断元素是否被启用 */
        /* 判断 物业名称 文本框是否以启用 */
        /* 两种状态  只读(readonly)：启用    禁用(disabled)：未启用 */
        WebElement wymc = driver.findElement(By.name("username"));
        boolean enabled = wymc.isEnabled();
        System.out.println(enabled == true ? "已启用" : "未启用");


        /*================================isDisplayed()===========================================*/
        /* 判断元素是否被隐藏   如果元素 没有隐藏 返回true  不然 false */
        /* 定位需要判断的元素   */
        WebElement element = driver.findElement(By.cssSelector("p.edit"));
        boolean displayed = element.isDisplayed();
        System.out.println(displayed == true ? "未隐藏" : "已隐藏");

    }

    @AfterClass
    public void close() {
//        driver.quit();
    }
}
